import { useIntersectionObserver } from '@vueuse/core'

// 定义懒加载插件
export const lazyPlugin = {
    install(app) {
        // 懒加载指令逻辑
        app.directive('img-lazy', {
            mounted(el, binding) {
                // el: 指令绑定的元素
                // binding: 指令对象 => binding.value => 指令等于号后面的值
        
                // 判断图片是否进入视口区域
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }]) => {
                        console.log(isIntersecting)
                        // 进入视口区域
                        if (isIntersecting) {
                            // 发送图片资源请求
                            el.src = binding.value
                            stop() // 停止监听
                        }
                    },
                )
            }
        })
    }
}